#!/bin/bash
#关闭防火墙，利用sed永久关闭selinux，定义root远程登录系统后的ssh保持时间为300秒，并设置时间同步， \
#ntp服务器地址是192.168.88.xxx，然后判断linux系统版本，关闭7版本系统的命令历史记录， \
#修改8版本的命令历史记录最多保存2000条并加上时间戳，关闭8版本系统的交换分区。

#脚本执行完成后，用ssh远程登陆测试
#可以先手工备份/etc/fstab和/etc/profile

#1）判断当前身份用户，并且关闭防火墙与SELiunx
systemctl stop firewalld           #停止防火墙运行
systemctl disabie firewalld        #临时改变防火墙为禁止使用
setenforce 0 &>/dev/null           #执行修改
sed -i '/^SELinuc=/c SELinux=disable' /etc/selinux/confing   #永久修改防火墙为禁止
#2）根据不同版本的系统各自执行任务

egrep  -q "8\.[0-9]+" /etc/redhat-release          #判断系统版本
if [ $? -eq 0 ];then
    sed -i '/^HISTSIZE/c HISTSIZE=2000' /etc/profile     #历史命令2000条
    sed -i '/^HISTSIZE/a export HISTTIMEFORMAT="%F %H:%M:%S "' /etc/profile    #历史命令时间戳
    swapoff -a       #临时关闭交换分区
    sed -i '/swap/s/^/#/' /etc/fstab      #永久关闭交换分区自动挂在
fi

#3）最后所有机器设置ssh超时退出与时间同步
TMOUT=300
sed -i '$a export TMOUT=300' /etc/profile      #定义超时退出
yum -y install chrony &>/dev/null        #安装同步软件 
systemctl enable chronyd           #开机自启动
sed -i 'la server 192.168.88.xxx iburst' /etc/chrony.conf    #增加同步配置文件的IP路径
systemctl restart chronyd        #开机重启